Spin Transfer Torque Magnetic Random Access Memory (STT-MRAM) is a non-volatile memory which is based on the storage of a binary information in the direction of the magnetization of a ferromagnetic layer with uniaxial magnetic anisotropy (free layer).
Historically, the magnetization of the free layer used to be defined within the plane of the layer, i.e., perpendicular to the growth direction. However, it has been shown that using a free layer with its magnetization aligned perpendicular to the plane leads to a reduced switching current needed to switch the magnetization, and hence, a lower power consumption for perpendicular STT-MRAM (pSTT-MRAM).
STT-MRAM is already being mass-produced and pSTT-MRAM is currently being developed by most major memory companies.
One of the major issues with STT-MRAM and pSTT-MRAM is that controlling the switching at switching current pulses less than 10 ns is usually not possible. This mainly results from the fact that the magnetizations of the reference layer and the free layer are aligned (or anti-aligned) at equilibrium, and that the spin-transfer torque vanishes in such a geometry.
Therefore, an initial angle between the angles of the free and reference layers is needed, which is generally obtained thanks to thermal agitation. Thermal agitation, being a Brownian motion, is non deterministic, which in turn results in the switching pattern of (p)STT-MRAM being non-deterministic in the 1-10 ns switching current pulse range. While there exist solutions to overcome this issue and increase the magnetizations angle between the free and reference layers, none can be easily implemented in a (p)STT-MRAM.